package net.sf.odinms.client.messages;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import net.sf.odinms.client.*;
import net.sf.odinms.net.channel.ChannelServer;
import net.sf.odinms.scripting.npc.NPCScriptManager;
import net.sf.odinms.server.*;
import net.sf.odinms.server.maps.*;
import net.sf.odinms.tools.*;
import java.util.*;
import net.sf.odinms.database.DatabaseConnection;
import java.io.File;
import net.sf.odinms.provider.*;
import net.sf.odinms.net.world.guild.*;

class PlayerCommand {

    static boolean executeCommand(MapleClient c, MessageCallback mc, String line) {
        MapleCharacter player = c.getPlayer();
        String[] splitted = line.split(" ");
        ChannelServer cserv = c.getChannelServer();
        if (c.getPlayer().inJail()) {
            mc.dropMessage("「 系统警告 」您已经被系统封号，因此您将无法使用任何玩家指令！");
        } else {
            if (splitted[0].equals("@str") || splitted[0].equals("@int") || splitted[0].equals("@luk") || splitted[0].equals("@dex")) {
                int amount = Integer.parseInt(splitted[1]);
                if (amount > 0 && amount <= player.getRemainingAp() && amount < 31997) {
                    if (splitted[0].equals("@str") && amount + player.getStr() < 32001) {
                        player.setStr(player.getStr() + amount);
                        player.updateSingleStat(MapleStat.STR, player.getStr());
                    } else if (splitted[0].equals("@int") && amount + player.getInt() < 32001) {
                        player.setInt(player.getInt() + amount);
                        player.updateSingleStat(MapleStat.INT, player.getInt());
                    } else if (splitted[0].equals("@luk") && amount + player.getLuk() < 32001) {
                        player.setLuk(player.getLuk() + amount);
                        player.updateSingleStat(MapleStat.LUK, player.getLuk());
                    } else if (splitted[0].equals("@dex") && amount + player.getDex() < 32001) {
                        player.setDex(player.getDex() + amount);
                        player.updateSingleStat(MapleStat.DEX, player.getDex());
                    } else {
                        mc.dropMessage("〖 系统消息 〗 请检查您的属性分配是否已经超过了系统最大的单属性值 32000 ！");
                    }
                    player.setRemainingAp(player.getRemainingAp() - amount);
                    player.updateSingleStat(MapleStat.AVAILABLEAP, player.getRemainingAp());
                } else {
                    mc.dropMessage("〖 系统消息 〗 请检查您的属性点是否超过了系统最大的32000或您有足够的剩余属性点去分配。");
                }
            } else if (splitted[0].equals("@exp")) {
                if (player.getExp() < 0) {
                    player.setExp(0);
                    player.updateSingleStat(MapleStat.EXP, 0);
                    mc.dropMessage("〖 系统消息 〗 您的当前经验已经被重设为零，修复经验顺利执行完毕。");
                } else {
                    mc.dropMessage("〖 系统消息 〗 您的当前经验不为负数，不能够进行修复！");
                }
            /*} else if (splitted[0].equalsIgnoreCase("@ringinfo")) {
                mc.dropMessage("800 - 四叶挚友戒指");
                mc.dropMessage("801 - 雏菊挚友戒指");
                mc.dropMessage("802 - 闪星挚友戒指");
                mc.dropMessage("001 - 恋人戒指");
                mc.dropMessage("002 - 纯爱恋人戒指");
                mc.dropMessage("003 - 丘比特戒指");
                mc.dropMessage("005 - 多个大红心围绕");
                mc.dropMessage("006 - 头上两把剑");
            } else if (splitted[0].equalsIgnoreCase("@ring")) {
                if (c.getPlayer().getMeso() < 50000000) { //每次执行的戒指费用5000万
                    mc.dropMessage("〖 系统消息 〗 您身上没有足够支付戒指费用的5000万游戏币！");
                } else {
                    Map<String, Integer> rings = new HashMap<String, Integer>();
                    rings.put("800", 1112800);
                    rings.put("801", 1112801);
                    rings.put("802", 1112802);
                    rings.put("001", 1112001);
                    rings.put("002", 1112002);
                    rings.put("003", 1112003);
                    rings.put("005", 1112005);
                    rings.put("006", 1112006);
                    if (rings.containsKey(splitted[2])) {
                        MapleCharacter partner1 = cserv.getPlayerStorage().getCharacterById(c.getPlayer().getId()); //自己的ID
                        MapleCharacter partner2 = cserv.getPlayerStorage().getCharacterById(Integer.parseInt(splitted[1])); //对方ID
                        int ret = MapleRing.createRing(rings.get(splitted[2]), partner1, partner2);
                        switch (ret) {
                            case -2:
                                mc.dropMessage("〖 系统消息 〗 系统没有找到赠送者ID。");
                                break;

                            case -1:
                                mc.dropMessage("〖 系统消息 〗 系统没有找到您输入的对应获赠者信息。");
                                break;

                            case 0:
                                mc.dropMessage("〖 系统消息 〗 您或者获赠者已经与其他人有戒指，系统不支持一人多戒指效果。");
                                break;

                            default:
                                c.getPlayer().gainMeso(-50000000, true); //只有成功送出后才扣费用
                                mc.dropMessage("〖 系统消息 〗您已经成功送出编号为 " + splitted[2] + " 的一对戒指。请您与获赠者一起换地图或重新上线，已获得戒指效果。");
                        }
                    } else {
                        mc.dropMessage("〖 系统消息 〗您输入的戒指编号没有与系统对应，请检查后重新输入。");
                        mc.dropMessage("〖 系统消息 〗以下为系统接受的戒指编号与对应的戒指名称：");
                        mc.dropMessage("800 - 四叶挚友戒指");
                        mc.dropMessage("801 - 雏菊挚友戒指");
                        mc.dropMessage("802 - 闪星挚友戒指");
                        mc.dropMessage("001 - 恋人戒指");
                        mc.dropMessage("002 - 纯爱恋人戒指");
                        mc.dropMessage("003 - 丘比特戒指");
                        mc.dropMessage("005 - 多个大红心围绕");
                        mc.dropMessage("006 - 头上两把剑");
                    }
                    rings.clear();
                }
            } else if (splitted[0].equals("@delring")) {
                MapleCharacter victim = player;
                if (victim != null) {
                    if (MapleRing.checkRingDB(victim)) {
                        MapleRing.removeRingFromDb(victim);
                        victim.dropMessage("〖 系统消息 〗系统已经成功清理您的成对戒指，请重新登陆游戏检查。");
                    } else {
                        victim.dropMessage("〖 系统消息 〗您没有任何成对戒指无法清理哦！");
                    }
                }*/
            } else if (splitted[0].equals("@save") || splitted[0].equals("@保存")) {
                c.getPlayer().saveToDB(true);
                mc.dropMessage("〖 系统消息 〗您的当前账号及角色数据保存成功，请您经常执行此命令已避免数据回档.");
            } else if (splitted[0].equals("@cangku") || splitted[0].equals("@仓库")) {
                c.getPlayer().getStorage().sendStorage(c, 2080005);
                mc.dropMessage("〖 系统消息 〗 您成功打开个人仓库！");
            } else if (splitted[0].equals("@ditu") || splitted[0].equals("@地图")) {
                NPCScriptManager npc = NPCScriptManager.getInstance();
                npc.start(c, 1063000);
                mc.dropMessage("〖 系统消息 〗您成功打开城市传送对话！");
            } else if (splitted[0].equals("@bossditu") || splitted[0].equals("@BOSS地图")) {
                NPCScriptManager npc = NPCScriptManager.getInstance();
                npc.start(c, 1063001);
                mc.dropMessage("〖 系统消息 〗您成功打开BOSS传送对话！");
            } else if (splitted[0].equals("@dianjuan")) {
                NPCScriptManager npc = NPCScriptManager.getInstance();
                npc.start(c, 1043001);
                mc.dropMessage("〖 系统消息 〗 您成功打开点卷兑换对话！");
            } else if (splitted[0].equals("@renqi")) {
                NPCScriptManager npc = NPCScriptManager.getInstance();
                npc.start(c, 1063002);
                mc.dropMessage("〖 系统消息 〗 您成功打开人气兑换对话！");
            } else if (splitted[0].equals("@zhuanzhi")) {
                NPCScriptManager npc = NPCScriptManager.getInstance();
                npc.start(c, 9200000);
                mc.dropMessage("〖 系统消息 〗 您成功打开转职传送对话！");

            //5大职业的3转教官
            } else if (splitted[0].equals("@zs3")) {
                NPCScriptManager npc = NPCScriptManager.getInstance();
                npc.start(c, 2020008);
            } else if (splitted[0].equals("@mfs3")) {
                NPCScriptManager npc = NPCScriptManager.getInstance();
                npc.start(c, 2020009);
            } else if (splitted[0].equals("@gjs3")) {
                NPCScriptManager npc = NPCScriptManager.getInstance();
                npc.start(c, 2020010);
            } else if (splitted[0].equals("@fx3")) {
                NPCScriptManager npc = NPCScriptManager.getInstance();
                npc.start(c, 2020011);
            } else if (splitted[0].equals("@hd3")) {
                NPCScriptManager npc = NPCScriptManager.getInstance();
                npc.start(c, 2020013);

            //5大职业的4转教官
            } else if (splitted[0].equals("@zs4")) {
                NPCScriptManager npc = NPCScriptManager.getInstance();
                npc.start(c, 2081100);
            } else if (splitted[0].equals("@mfs4")) {
                NPCScriptManager npc = NPCScriptManager.getInstance();
                npc.start(c, 2081200);
            } else if (splitted[0].equals("@gjs4")) {
                NPCScriptManager npc = NPCScriptManager.getInstance();
                npc.start(c, 2081300);
            } else if (splitted[0].equals("@fx4")) {
                NPCScriptManager npc = NPCScriptManager.getInstance();
                npc.start(c, 2081400);
            } else if (splitted[0].equals("@hd4")) {
                NPCScriptManager npc = NPCScriptManager.getInstance();
                npc.start(c, 2081500);
            } else if (splitted[0].equals("@back") || splitted[0].equals("@回城")) {
                if (c.getPlayer().getMeso() < 50000) { //每次执行的费用5万
                    mc.dropMessage("〖 系统消息 〗您没有足够的游戏币，每次执行该命令系统将自动收取费用5万游戏币！");
                } else {
                    MapleMap target = cserv.getMapFactory().getMap(910000000);
                    MaplePortal targetPortal = target.getPortal(0);
                    if (c.getPlayer().isPvPMap()) {
                        mc.dropMessage("〖 系统消息 〗 您正在PK地图决斗，此是逃跑会被人耻笑的！");
                    } else {
                        player.changeMap(target, targetPortal);
                        c.getPlayer().gainMeso(-50000, true);
                        mc.dropMessage("〖 系统消息 〗 您已经被传送到自由市场，系统自动扣除5万游戏币作为服务费。");
                    }
                }
            } else if (splitted[0].equals("@online") || splitted[0].equals("@在线")) {
                mc.dropMessage("<<当前频道所有在线玩家清单>>");
                Collection<MapleCharacter> chrs = ChannelServer.getInstance(c.getChannel()).getPlayerStorage().getAllCharacters();
                for (MapleCharacter chr : chrs) {
                    if (c.getPlayer().getMapId() == chr.getMapId() && !chr.isGM()) { //hairi 这里GM就不要显示是否在同一个地图，方便查挂。
                        mc.dropMessage("角色ID:" + chr.getId() + "/角色名:" + chr.getName() + "/等级:" + chr.getLevel() + " <<<<< 此玩家与您在同一个地图里。");
                    } else {
                        mc.dropMessage("角色ID:" + chr.getId() + "/角色名:" + chr.getName() + "/等级:" + chr.getLevel());
                    }
                }
            } else if (splitted[0].equals("@jiasi") || splitted[0].equals("@假死")) {
                NPCScriptManager.getInstance().dispose(c);
                mc.dropMessage("〖 系统消息 〗 您已经修复假死的NPC，请再次尝试对话，若仍未可以使用，请与管理员联系！");
                c.getSession().write(MaplePacketCreator.enableActions());
            } else if (splitted[0].equals("@version")) {
                mc.dropMessage("快乐冒险世界服务器端 v075 版 - HappyPack V075");
            } else if (splitted[0].equals("@resetstats")) {
                if (c.getPlayer().getMeso() < 20000000) { //每次执行的费用2000万
                    mc.dropMessage("〖 系统消息 〗您没有足够的游戏币，每次执行该命令系统将自动收取费用2000万游戏币！");
                } else {
                    int Dex = player.getDex();
                    int Int = player.getInt();
                    int Str = player.getStr();
                    int Luk = player.getLuk();
                    int newStat = player.getRemainingAp() + Dex + Int + Str + Luk - 16;
                    player.setRemainingAp(newStat);
                    player.updateSingleStat(MapleStat.AVAILABLEAP, player.getRemainingAp());
                    player.setDex(4);
                    player.setInt(4);
                    player.setStr(4);
                    player.setLuk(4);
                    player.updateSingleStat(MapleStat.DEX, player.getDex());
                    player.updateSingleStat(MapleStat.INT, player.getInt());
                    player.updateSingleStat(MapleStat.STR, player.getStr());
                    player.updateSingleStat(MapleStat.LUK, player.getLuk());
                    mc.dropMessage("〖 系统消息 〗 您已经重新设置能力点成功，系统也将自动扣除此次费用。");
                    c.getPlayer().gainMeso(-20000000, true);
                }
            } else if (splitted[0].equalsIgnoreCase("@whodrops")) {
                if (splitted.length < 2) {
                    mc.dropMessage("@whodrops <itemid>");
                } else {
                    try {
                        int searchid = Integer.parseInt(splitted[1]);
                        List<String> retMobs = new ArrayList<String>();
                        MapleData data = null;
                        MapleDataProvider dataProvider = MapleDataProviderFactory.getDataProvider(new File(System.getProperty("net.sf.odinms.wzpath") + "/" + "String.wz"));
                        data = dataProvider.getData("Mob.img");
                        mc.dropMessage("Item " + searchid + " is dropped by the following mobs:");
                        List<Pair<Integer, String>> mobPairList = new LinkedList<Pair<Integer, String>>();
                        Connection con = DatabaseConnection.getConnection();
                        PreparedStatement ps = con.prepareStatement("SELECT monsterid FROM monsterdrops WHERE itemid = ?");
                        ps.setInt(1, searchid);
                        ResultSet rs = ps.executeQuery();
                        while (rs.next()) {
                            int mobn = rs.getInt("monsterid");
                            for (MapleData mobIdData : data.getChildren()) {
                                int mobIdFromData = Integer.parseInt(mobIdData.getName());
                                String mobNameFromData = MapleDataTool.getString(mobIdData.getChildByPath("name"), "NO-NAME");
                                mobPairList.add(new Pair<Integer, String>(mobIdFromData, mobNameFromData));
                            }
                            for (Pair<Integer, String> mobPair : mobPairList) {
                                if (mobPair.getLeft() == (mobn) && !retMobs.contains(mobPair.getRight())) {
                                    retMobs.add(mobPair.getRight());
                                }
                            }
                        }
                        rs.close();
                        ps.close();
                        if (retMobs != null && retMobs.size() > 0) {
                            for (String singleRetMob : retMobs) {
                                mc.dropMessage(singleRetMob);
                            }
                        } else {
                            mc.dropMessage("No mobs drop this item.");
                        }
                    } catch (SQLException e) {
                    }
                }
            } else if (splitted[0].equals("@rebirth")) {
                //if (player.getLevel() >= c.getChannelServer().getLevelCap()) {
                //    player.doReborn();
                //} else {
                //    mc.dropMessage("You are not level" + c.getChannelServer().getLevelCap() + ".");
                //}
                mc.dropMessage("〖 系统消息 〗 请您到官方网站上进行在线转生，网站地址：www.92fzd.com 。");
            /*} else if (splitted[0].equals("@lockcity")) {
                try {
                    int world = -1, guildid = 0, guildrank = 0;//给个初始化值
                    Connection con = DatabaseConnection.getConnection();
                    PreparedStatement ps = con.prepareStatement("SELECT * FROM characters WHERE id = ?");
                    ps.setInt(1, player.getId());
                    ResultSet rs = ps.executeQuery();
                    while (rs.next()) {
                        world = rs.getInt("world");
                        guildid = rs.getInt("guildid");
                        guildrank = rs.getInt("guildrank");
                    }
                    rs.close();
                    ps.close();
                    if (guildid > 0 && guildrank == 1) { //判断自己是有家族且是家族族长
                        int locked = -1;
                        ps = con.prepareStatement("SELECT * FROM warfare WHERE guildid = ?");
                        ps.setInt(1, guildid);
                        rs = ps.executeQuery();
                        while (rs.next()) {
                            locked = rs.getInt("locked");
                        }
                        rs.close();
                        ps.close();
                        if (locked >= 0) { //确实是城堡主人
                            if (locked == 1) { //当前是锁定无法访问城堡
                                locked = 0; //解除
                                mc.dropMessage("〖系统提示〗您已经成功解除了您家族城堡的对外访问权限，任何人都可以进入到城堡地图。");
                            } else {
                                locked = 1;//锁定
                                mc.dropMessage("〖系统提示〗您已经成功锁定了您家族城堡的对外访问权限，任何人都不能进入到城堡地图。");
                            }
                            ps = con.prepareStatement("UPDATE warfare SET locked = ? WHERE guildid = ?");
                            ps.setInt(1, locked);
                            ps.setInt(2, guildid);
                            ps.executeUpdate();
                            ps.close();
                        } else {
                            mc.dropMessage("〖系统提示〗您没有拥有任何可用的守城权限，无法对其进行城堡访问权限修改，执行玩家指令失败。");
                        }
                    } else {
                        mc.dropMessage("〖系统提示〗您没有加入任何家族或您不是当前家族的族长，执行玩家指令失败。");
                    }
                } catch (SQLException se) {
                }*/
            } else if (splitted[0].equals("@findchar")) {
                try {
                    String CharName = "", level = "", job = "", vip = "";
                    int gm = 0, vip1 = 0;
                    Connection con = DatabaseConnection.getConnection();
                    PreparedStatement ps = con.prepareStatement("SELECT * FROM characters WHERE id = ? AND world = ?");
                    ps.setInt(1, Integer.parseInt(splitted[1])); //字段第一个关键子
                    ps.setInt(2, player.getWorld());
                    ResultSet rs = ps.executeQuery();
                    while (rs.next()) {
                        CharName = rs.getString("name");
                        level = String.valueOf(rs.getInt("level"));
                        job = String.valueOf(rs.getInt("job"));
                        vip1 = rs.getInt("vip");
                        gm = rs.getInt("gm");
                    }
                    rs.close();
                    ps.close();
                    if (vip1 == 1) {
                        vip = "初级会员";
                    } else if (vip1 == 2) {
                        vip = "中级会员";
                    } else if (vip1 == 3) {
                        vip = "高级会员";
                    } else {
                        vip = "普通玩家";
                    }
                    if (gm == 0) { //只能查询玩家的数据
                        mc.dropMessage("〖系统提示〗您查询角色ID为 " + splitted[1] + " ：玩家角色名 " + CharName + " 级别 " + level + " 职业代码 " + job + " 身份 " + vip + "。");
                    } else {
                        mc.dropMessage("〖系统提示〗系统无法为您查询到此玩家的信息，请重新输入查询角色的ID。");
                    }
                } catch (SQLException se) {
                    mc.dropMessage("〖系统提示〗系统无法为您查询到此玩家的信息，请重新输入查询角色的ID。");
                }
            /*} else if (splitted[0].equals("@openid")) {
                if (player.isOpenId()) {
                    player.setOpenId(false);
                    mc.dropMessage("〖系统提示〗您已经关闭了角色ID功能，请通过角色名称来操作。");
                } else {
                    player.setOpenId(true);
                    mc.dropMessage("〖系统提示〗您已经开启了角色ID功能，请通过角色ID来操作。");
                }
            } else if (splitted[0].equals("@guildinfo")) {
                MapleGuildCharacter initiator = player.getMGC();
                MapleGuild g = player.getClient().getChannelServer().getGuild(initiator);
                if (player.getGuildId() > 0 && player.getGuildRank() == 1) {
                    if (splitted.length == 3) {
                        //g.ModifyGuildInfo(Integer.parseInt(splitted[1]), splitted[2]); //修改家族名称或公告
                        g.ModifyGuildInfo(Integer.parseInt(splitted[1]), StringUtil.getRightPaddedStr(splitted[2], '\0', 13));
                        g.respawnPlayer(player);
                    } else if (splitted.length == 7) {
                        g.ModifyGuildInfo(Integer.parseInt(splitted[1]), splitted[2], splitted[3], splitted[4], splitted[5], splitted[6]); //修改家族称谓
                        g.respawnPlayer(player);
                    } else if (splitted.length == 9) {
                        g.ModifyGuildInfo(Integer.parseInt(splitted[1]), splitted[2], splitted[3], splitted[4], splitted[5], splitted[6], splitted[7], splitted[8]); //修改家族全部文字
                        g.respawnPlayer(player);
                    } else {
                        mc.dropMessage("〖系统提示〗您输入的参数个数错误，请重新输入。提示信息如下：");
                        mc.dropMessage("@guildinfo 1 家族名称");
                        mc.dropMessage("@guildinfo 2 家族称谓1 家族称谓2 家族称谓3 家族称谓4 家族称谓5");
                        mc.dropMessage("@guildinfo 3 家族公告");
                        mc.dropMessage("@guildinfo 4 家族名称 家族称谓1 家族称谓2 家族称谓3 家族称谓4 家族称谓5 家族公告");
                    }
                    player.getClient().getSession().write(MaplePacketCreator.showGuildInfo(player)); //立即刷新修改信息
                } else {
                    mc.dropMessage("〖系统提示〗您还没有创建家族或您不是当前家族的族长，无法使用修改家族信息功能。");
                }*/
            } else if (splitted[0].equals("@shop")) {
                if (player.isVip()) {
                    if (!player.isBossMap()) {
                        NPCScriptManager npc = NPCScriptManager.getInstance();
                        npc.start(c, 9030100);
                        mc.dropMessage("〖系统提示〗您已经正常打开自由市场的商店，当然也只有尊贵的VIP会员您才可以享受特别服务哦。");
                    } else {
                        mc.dropMessage("〖系统提示〗您当前处于BOSS地图或附近地图，您无法打开自由市场的商店。");
                    }
                } else {
                    mc.dropMessage("〖系统提示〗您不是会员，您无法享受远程打开自由市场商店功能。");
                }
            /*} else if (splitted[0].equals("@jinhua")) {
                mc.dropMessage("〖系统提示〗您当前装备的武器为「"+player.getItemID()+"」进化等级为「"+player.getItemLevel()+"」进化经验为「"+player.getItemExp()+"」。");*/
            } else if (splitted[0].equals("@version")) {
                mc.dropMessage("MyMaple Pack V062 based on MapleStory ThePack+Xotic Core International Edition");
                mc.dropMessage("Website : http://mymaple.blogbus.com/");
            } else if (splitted[0].equals("@chongwu")) {
                mc.dropMessage("============================================================");
                mc.dropMessage("                           宠物命令帮助信息");
                mc.dropMessage("============================================================");
                mc.dropMessage("在聊天窗口里输入以下单个中文宠物指令，将可以看到指令效果.");
                mc.dropMessage("sit - 坐下  bad - 坏孩子  no - 不要  badgirl - 坏女孩");
                mc.dropMessage("badboy - 坏男孩  restandrelax - 不知道 poop - 瞌睡 talk - 谈话");
                mc.dropMessage("chat - 聊天 say - 说话 iloveyou - 我爱你  snuggle - 依偎");
                mc.dropMessage("hug - 拥抱 sleep - 睡觉 gooboy - 好男孩 ");
                mc.dropMessage("datty  bind  badbreath  suitup  bringthefunk");
            } else if (splitted[0].equals("@help")) {
                mc.dropMessage("============================================================");
                mc.dropMessage("                           玩家命令帮助信息");
                mc.dropMessage("============================================================");
                mc.dropMessage("@save - 保存当前账号以及角色的所有数据信息,避免数据回档.");
                mc.dropMessage("@exp  - 修复角色经验为负数情况,修复后当前经验归零.");
                //mc.dropMessage("@ringinfo - 查看可以送出的戒指代码及对应名称。");
                //mc.dropMessage("@ring <角色ID> <戒指代码> - 送出成对戒指给目标玩家角色.");
               // mc.dropMessage("@delring - 清理玩家身上的成对戒指.");
                mc.dropMessage("@cangku  - 打开个人仓库对话.");
                mc.dropMessage("@ditu  - 打开城市传送对话.");
                mc.dropMessage("@bossditu  - 打开BOSS传送对话.");
                mc.dropMessage("@dianjuan  - 打开点卷兑换对话.");
                mc.dropMessage("@renqi  - 打开人气兑换对话.");
                mc.dropMessage("@zhuanzhi  - 打开转职传送对话.");
                mc.dropMessage("@online  - 查看当前频道所有玩家信息.");
                mc.dropMessage("@chongwu - 查看宠物命令,英文的命令哦.");
                mc.dropMessage("@back  - 返回自由市场地图.5万/次");
                mc.dropMessage("@jiasi  - 修复NPC对话假死现象.");
                mc.dropMessage("@version - 显示游戏版本信息.");
                mc.dropMessage("@whodrops <物品ID> - 查看爆指定物品的怪物是什么");
                mc.dropMessage("@resetstats - 洗能力点即复原所有AP点.2000万/次");
                //mc.dropMessage("@lockcity - 锁定与解除家族城堡的对外访问权。");
                mc.dropMessage("@findchar <角色ID> - 查询指定角色ID的玩家信息。");
                //mc.dropMessage("@openid - 开启/关闭 角色ID功能，主要用于远程加组队或家族成员。");
                //mc.dropMessage("@guildinfo <参数> - 修改家族中的文字信息，例如家族名称。");
                //mc.dropMessage("@guildinfo 1 家族名称");
                //mc.dropMessage("@guildinfo 2 家族称谓1 家族称谓2 家族称谓3 家族称谓4 家族称谓5");
                //mc.dropMessage("@guildinfo 3 家族公告");
                //mc.dropMessage("@guildinfo 4 家族名称 家族称谓1 家族称谓2 家族称谓3 家族称谓4 家族称谓5 家族公告");
                //mc.dropMessage("@shop - 会员远程打开自由市场商店.");
                //mc.dropMessage("@jinhua - 查看当前角色身上装备的武器进化状态信息.");
                mc.dropMessage("@zs3/mfs3/gjs3/fx3/hd3 - 可以分别打开5大职业的三转职业教官对话.");
                mc.dropMessage("@zs4/mfs4/gjs4/fx4/hd4 - 可以分别打开5大职业的四转职业教官对话.");
                mc.dropMessage("@str/dex/int/luk [点数] - 可以帮助您更快的添加能力点.");
                mc.dropMessage("例如在聊天窗口输入  @str 100  那么将增加您当前力量100点.");
            }
        }
        return true;
    }
}